﻿'''
题目描述
孙悟空爱吃蟠桃，有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有 N 棵桃树，每颗树上都有桃子，守卫将在 H 小时后回来。
孙悟空可以决定他吃蟠桃的速度K（个/小时），每个小时选一颗桃树，并从树上吃掉 K 个，如果树上的桃子少于 K 个，则全部吃掉，
并且这一小时剩余的时间里不再吃桃。
孙悟空喜欢慢慢吃，但又想在守卫回来前吃完桃子。
请返回孙悟空可以在 H 小时内吃掉所有桃子的最小速度 K（K为整数）。如果以任何速度都吃不完所有桃子，则返回0。
输入描述
一行输入为 N 个数字，N 表示桃树的数量，这 N 个数字表示每颗桃树上蟠桃的数量。
第二行输入为一个数字，表示守卫离开的时间 H。
其中数字通过空格分割，N、H为正整数，每颗树上都有蟠桃，且 0 < N < 10000，0 < H < 10000。
输出描述
吃掉所有蟠桃的最小速度 K，无解或输入异常时输出 0。
示例1
输入
2 3 4 5
4
输出
5
示例2
输入
2 3 4 5
3
输出
0
解题思路
本题22年、23年、24年都考过。
参考：875. 爱吃香蕉的珂珂 - 力扣（LeetCode）
'''
#判断以速度k能否在h小时内吃完所有桃子
def can_finish(peas,h,k):
    count = 0
    for p in peas: 
        if p % k != 0:
            count += p//k + 1
        else:
            count += p//k
    return count <= h

def main():
    #读取输入
    peas = list(map(int,input().split()))
    h = int(input())
    n = len(peas)
    if n == 0 or n >= 10000 or h <= 0 or h >= 10000 or n > h:
        print(0)
        exit()
    left,right = 0,sum(peas)
    while left < right:
        mid = left + (right - left) //2
        if can_finish(peas,h,mid):
            right = mid
        else:
            left = mid + 1
    #输出结果
    print(left)
if __name__ == '__main__':
    main()

